﻿using Abp.Application.Services.Dto;
using Abp.AutoMapper;
using Abp.Domain.Entities.Auditing;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Magicodes.Admin.SFOrders.Dto
{
   
    public class SFOrderListDto : EntityDto<long>, IHasCreationTime
    {
        public bool IsPrint { get; set; } = false; 
        public string ServiceStationCode { get; set; }

        public WULINGAddresss.Dto.AddressListDto Addres { get; set; }

        public string ShippingNumber { get; set; }

        /// <summary>
        /// 分别在订单地址后增加”服务站号”
        /// </summary>
        public string AddressCoalescing
        {
            get;set;
        }

        public string ContentOfConsignment
        {
            get; set;
        }
        /// <summary>
        /// 不填默认为1
        /// </summary>
        public decimal Weight { get; set; } = 1;

        /// <summary>
        /// 件数 不填默认为1
        /// </summary>
        public int NumberOfCases { get; set; } = 1;

        /// <summary>
        /// 数量 不填默认为1
        /// </summary>
        public decimal Quantity { get; set; } = 1;

        /// <summary>
        /// 快递产品类型
        /// </summary>
        [Display(Name = "快递产品")]
        [Required]
        public string ExpressProductType { get; set; }

        /// <summary>
        /// 付款方式
        /// </summary>
        [Display(Name = "付款方式")]
        [Required]
        //[MaxLength(50)]
        public string PaymentMethod { get; set; }


        /// <summary>
        /// 月结卡号
        /// </summary>
        [Display(Name = "月结卡号")]
        [Required]
        public string MonthlyCardNumber { get; set; }

        public string CompanyName { get; set; }

        /// <summary>
        /// 是否报价
        /// </summary>
        [Display(Name = "是否报价")]
        public string WhetherTheValuation { get; set; }
        /// <summary>
        /// 声明价值
        /// </summary>
        [Display(Name = "声明价值")]
        public string DeclaredValue { get; set; }

        /// <summary>
        /// 是否自取
        /// </summary>
        [Display(Name = "是否自取")]
        public string WhetherComeUndone { get; set; }

        /// <summary>
        /// 行业型增值服务
        /// </summary>
        [Display(Name = "行业型增值服务")]
        public string IndustryOrientedValueAddedServices { get; set; }

        /// <summary>
        /// 备注1
        /// </summary>
        [Display(Name = "备注1")]
        public string Note1 { get; set; }

        /// <summary>
        /// 备注2
        /// </summary>
        [Display(Name = "备注2")]
        public string Note2 { get; set; }

        /// <summary>
        /// 备注3
        /// </summary>
        [Display(Name = "备注3")]
        public string Note3 { get; set; }
        public DateTime CreationTime { get; set; }
        /// <summary>
        /// 运单号
        /// </summary>
        public string WaybillNo { get; set; }

         
    }
    [AutoMapFrom(typeof(SFQiaoRouteWaybillRoute))]
    public class SFOrderRouteListDto: EntityDto<string>
    { 
        /// <summary>
        /// 
        /// </summary> 
        public string ResultId { get; set; }
        /// <summary>
        /// 顺丰运单号
        /// </summary> 
        public string mailno { get; set; }
        /// <summary>
        /// 客户订单号
        /// </summary> 
        public string orderid { get; set; }
        /// <summary>
        /// 路由节点产生的时间，格式：YYYY-MM-DD HH24:MM:SS，示例：2012-7-30 09:30:00。
        /// </summary> 
        public string acceptTime { get; set; }
        /// <summary>
        /// 路由节点发生的城市
        /// </summary> 
        public string acceptAddress { get; set; }
        /// <summary>
        /// 路由节点具体描述
        /// </summary> 
        public string remark { get; set; }
        /// <summary>
        /// 路由节点操作码
        /// </summary> 
        public string opCode { get; set; }
    }
    [AutoMapFrom(typeof(SFQiaoRouteStatusBack))]
    public class SFOrderStateDto: EntityDto<long>
    {
        /// <summary>
        /// 
        /// </summary>
        public string orderNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string waybillNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string orderStateCode { get; set; }
        /// <summary>
        /// 调度成功,收派员信息
        /// </summary>
        public string orderStateDesc { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string empCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string empPhone { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string netCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string lastTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string bookTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string carrierCode { get; set; }
    }
}
